Hypertext markup language (“HTML” in the idiom of computer science) has been a text-formatting language in use since 1989 for documents on the interconnected computing network known as the World Wide Web. HTML documents are text files that contain two parts: content that is meant to be rendered on a computer screen; and predefined markup, or tags, which are encoded information that directs the formatting of text on the screen and is generally hidden from a user.
The predefined tags are specifically defined by HTML. While useful, predefined tags cannot be altered by a developer of HTML documents. Some HTML document tags determine the way certain text, such as titles, are formatted. Other tags cue a computer to respond to a user's actions on a keyboard or mouse. For instance, when a user clicks on an icon, another piece of software for displaying a graphic, playing a recording, or running a short movie may be called. Another important tag is a link, which may contain the uniform resource locator (URL) of another HTML document. A URL can be compared to an address where a particular HTML document resides. While it is possible for a called HTML document to be stored on the same computer as a calling HTML document, more typically the called HTML document is stored on another computer connected to the calling computer via the World Wide Web. A user can navigate from document to document simply by clicking on HTML document links. HTML tags also include form tags that let a user fill out information and electronically send, or e-mail, the data to the forms' author, initiate sophisticated searches of information on the Internet, or order goods and services.
The software that permits a user to navigate the World Wide Web and view HTML-encoded documents is called a browser. HTML predefined tags indicate to a browser how the browser should display information to a user and how the browser should respond to a user's actions, such as activating a link by means of a key press or mouse click. HTML version 2.0 was the first version of HTML widely used on the World Wide Web. Later versions of HTML have improved upon the first version of HTML, namely: HTML+; HTML version 3.0, which introduced tables; HTML version 3.2, which included the recognition of applets and the ability to flow text around images; and HTML version 4.0, which supported style sheets and scripting languages. Additionally, Web developers and designers have grown beyond what is offered by the variants of HTML. Web developers and designers require greater flexibility in organizing and presenting information than is possible with the older HTML document coding system; hence, the emergent of extensible markup language (XML).
Unlike HTML, in which the meaning of all tags is pre-determined, XML allows developers to define their own tags. For example, a publisher and a bookstore might choose to define their own tags for information about authors, titles, and publication dates for the information they exchange. Similarly, an auto maker and a dealership might choose to define their own unique tags for models, body styles, and prices.
Because of its flexibility in organizing and presenting information, XML has been employed for data-intensive operations. A case in point is the use of XML in the communication of performance information generated in connection with athletic events, which include sports or games engaged in by athletes involving physical strength, skill, endurance, and speed. For data-intensive operations, a special set of problems exist in regard to processing. For example, new information captured during the course of events often causes abrupt changes to the organizational schemes of messages containing data, such as performance information. Prior conventional systems cannot be quickly customized so as to easily adapt to changes in the structure of messages. This problem as well as other problems are described below with reference to a conventional system 100 shown in FIG. 1.
The system 100 includes a client 102, which is a computer that accesses shared network resources, such as a relational database 118, being provided by another computer, such as a server 108, via a local area network or the Internet 106. A browser 104 executed on the client 102 lets a user view HTML or XML documents and access files and software related to those documents. To access the processing power of the relational database 118, which is a file composed of records (each containing fields together with a set of operations for searching, sorting, recombining, and other processing functions), the client 102 sends one or more XML queries formed from the XML-QL language. The XML-QL language is a type of data manipulation language used for processing, retrieving, and displaying data from a database. Like HTML, the XML-QL language allows no deviation from the prescribed format to access the relational database 118.
Once issued by the client 102, XML-QL queries are intercepted by a Web daemon 110. The Web daemon 110 is a program associated with the UNIX operating system running on the server 108 and used for intercepting XML-QL queries received from the client 102 (or other clients, not shown), communicating XML-QL queries to a parser 112, and transmitting relational data as XML back to the client 102. The parser 112 converts an XML-QL query to a language-neutral intermediate representation. The intermediate representation is a sequence of operations that describe how the markup output of the XML-QL query is derived from the underlying relational tables in the relational database 118. The relational database 118 is a file composed of records (each containing fields together with a set of operations for searching, sorting, recombining, and other processing functions), for processing data into multiple tables. The multiple tables, each of which has been specially designed by a programmer who is well versed in the database art, are data structure characterized by rows and columns, with data occupying or potentially occupying each cell formed by a row-column intersection. The relationship between a table in the relational database 118 to an XML-QL query being parsed by the parser 112 is mapped by a schema mapper 120. The schema mapper 120 establishes an XML schema for a view into the data stored in a table in the relational database 118. Each table in the relational database 118 is mapped to a virtual XML document in the schema mapper 120. When XML-QL queries are issued, they are issued toward one or more virtual XML documents.
An SQL writer 114 takes the intermediate representation generated by the parser 112 and translates it to an actual SQL query over one or more tables in the relational database 118. Now that the original XML-QL query has been translated into an SQL query, which is comprehensible by the relational database 118, the relational database 118 proceeds to process the SQL query to produce an SQL query result. A tagger 122 receives the SQL query result and generates markup output for producing publishing relational data from the tables of relational database 118. The publishing relational data is generated using XML. The Web daemon 110 picks up the XML publishing relational data from the tagger 122 and forwards it to the client 102 for displaying by the browser 104.
The main problem with the system 100 is that XML-QL queries forwarded by the client 102 must be formed in accordance with the prescription of the XML-QL language. While XML provides greater flexibility in describing and organizing information than HTML, the use of the XML-QL language by the system 100 eliminates these advantages of XML. New information captured during the course of events, such as sports events, often cause abrupt changes to the organizational schemes of messages. The system 100 can neither recognize nor tolerate these changes. Ultimately, these changes will either be rejected or be processed incorrectly by the system 100. Although the rejection or incorrect processing of a few messages may be tolerable, the rejection or incorrect processing of many of the hundreds, sometimes thousands, of messages generated by complex events, such as the Olympic games, or other types of events that are not necessarily sports events is not desirable. Further, the schema mapper 120 and the SQL writer 114, among other elements, add to the lackluster performance of the system 100, thereby making undesirable the use of the system 100 in situations where timely presentation is paramount to a user's viewing experience. Another problem of the system 100 is that it contemplates that the only shared resource in the system 100 is the relational database 118. But consider a situation where the shared resource is not a database. No provision is made for the system 100 to handle other shared resources. The system 100 provides no mechanisms for processing XML messages that are not queries, and therefore, are not directed to a relational database.
Thus, there is a need for better systems, methods, and computer-readable media for processing online content while avoiding and reducing the foregoing and other problems associated with existing processing schemes.